package org.asiainfo.system.api.domain.vo;

import lombok.Data;
import org.asiainfo.common.core.constant.UserConstants;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 角色信息
 *
 * @author dotor-ww
 */
@Data
public class RemoteRoleVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 角色ID
     */
    private Long roleId;
    /**
     * 角色名称
     */
    private String roleName;
    /**
     * 角色权限字符串
     */
    private String roleKey;
    /**
     * 角色显示顺序
     */
    private Integer roleSort;
    /**
     * 数据范围（1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限）
     */
    private String dataScope;
    /**
     * 菜单树选择项是否关联显示
     */
    private Boolean menuCheckStrictly;
    /**
     * 部门树选择项是否关联显示
     */
    private Boolean deptCheckStrictly;
    /**
     * 角色状态（0正常 1停用）
     */
    private Integer roleStatus;
    /**
     * 创建部门
     */
    private Long createDept;
    /**
     * 创建人
     */
    private String createBy;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 更新人
     */
    private String updateBy;
    /**
     * 更新时间
     */
    private Date updateTime;
    /**
     * 备注信息
     */
    private String remark;
    /**
     * 用户是否存在此角色标示 默认不存在
     */
    private Boolean flag = false;

    public Boolean isSuperAdmin() {
        return UserConstants.SUPER_ADMIN_ID.equals(this.roleId);
    }
}
